You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should add doc values support for geo points, probably via BinaryDocValues.
Similarly to #3993, the challenge is in the mappers, since the mapper needs to know all field values in order to be able to create the field instance (because there can be a single BinaryDocValues instance per document per field).
Another open question is about the encoding: storing two doubles (16 bytes) per point is probably wasteful, should we use instead a different encoding that would be more compact while keeping precision good enough? Since the range of possible values is fixed, I'm thinking that a fixed-size encoding that would map [-180,180] into [0, 2^bits_per_value] would be rather efficient. For example, if my math is correct, a bits_per_value of 24 (62.5% reduction) could give a precision of ~5m, a bits_per_value of 32 (50% reduction) would give a precision of ~20mm, and a bits_per_value of 40 (37.5% reduction) would give a precision << 1mm.
The text was updated successfully, but these errors were encountered:
I think this is desperately needed. The general assumption of reduced precsion could also be used in the in-memory field data version! +1 to explore the possibilities here!
This commits add doc values support to geo point using the exact same approach
as for numeric data: geo points for a given document are stored uncompressed
and sequentially in a single binary doc values field.
Closeelastic#4207
This commits add doc values support to geo point using the exact same approach
as for numeric data: geo points for a given document are stored uncompressed
and sequentially in a single binary doc values field.
Closeelastic#4207
We should add doc values support for geo points, probably via BinaryDocValues.
Similarly to #3993, the challenge is in the mappers, since the mapper needs to know all field values in order to be able to create the field instance (because there can be a single BinaryDocValues instance per document per field).
Another open question is about the encoding: storing two doubles (16 bytes) per point is probably wasteful, should we use instead a different encoding that would be more compact while keeping precision good enough? Since the range of possible values is fixed, I'm thinking that a fixed-size encoding that would map [-180,180] into [0, 2^bits_per_value] would be rather efficient. For example, if my math is correct, a
bits_per_value
of 24 (62.5% reduction) could give a precision of ~5m, abits_per_value
of 32 (50% reduction) would give a precision of ~20mm, and abits_per_value
of 40 (37.5% reduction) would give a precision << 1mm.The text was updated successfully, but these errors were encountered: